When an instruction is executed on an execution engine, after the instruction is decoded, the instruction is prepared for execution. In some architectures, dependencies for an instruction should be managed before the instruction can be executed. Dependencies can occur for registers that will be accessed by the instruction or for memory addresses that will be read or modified as a result of, or during execution of an instruction. For example, if program flow indicates that proper execution of an instruction depends on a read of an input a value from a register or memory address that will be written by a different instruction, the write must be completed before the read can occur. This particular type of hazard is a read after write (RAW) hazard. Other types of data hazards include write after write (WAW) and write after read (WAR) hazards.